﻿using System;
using Geometries = GisSharpBlog.NetTopologySuite.Geometries;
using GeoAPI.Geometries;

namespace AzukiMap.Renderer
{
    public class TileData
    {
        #region fields

        Uri _uri;
        IPolygon _orgExtent;
        int _orgWidth;
        int _orgHeight;
        int _orgSrid;
        int _orgDpi;
        double _orgScale;

        int _srid;
        int _dpi;
        IPolygon _extent;

        #endregion

        #region  properties
        
        public int OrgTileWidth
        {
            get { return _orgWidth; }
            internal set { _orgWidth = value; }
        }

        public int OrgTileHeight
        {
            get { return _orgHeight; }
            internal set { _orgHeight = value; }
        }

        public int OrgSrid
        {
            get { return _orgSrid; }
        }

        public int OrgDpi
        {
            get { return _orgDpi; }
        }

        public double OrgScale
        {
            get { return _orgScale; }
        }

        public IPolygon OrgExtent
        {
            get { return _orgExtent; }
        }

        public Uri Uri
        {
            get { return _uri; }
        }

        public int Srid
        {
            get { return _srid; }
            internal set { _srid = value; }
        }

        public int Dpi
        {
            get { return _dpi; }
            internal set { _dpi = value; }
        }

        public IPolygon Extent
        {
            get { return _extent; }
            internal set { _extent = value; }
        }

        #endregion

        public TileData(Uri uri, IPolygon orgExtent, int orgWidth, int orgHeight,
            int orgSrid, int orgDpi, double orgScale)
        {
            _uri = uri;
            _orgExtent = orgExtent;
            _orgWidth = orgWidth;
            _orgHeight = orgHeight;
            _orgSrid = orgSrid;
            _orgDpi = orgDpi;
            _orgScale = orgScale;
        }


    }
}
